From b8ea6590f19314ccaac9012eb15bca928d6b8729 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Sat, 20 Apr 2002 16:16:52 +0000 Subject: [PATCH] Accept NULL for color to mean "unmodify" Sat Apr 20 12:07:14 2002 Owen Taylor * gtk/gtkwidget.c (gtk_widget_modify_color_component): Accept NULL for color to mean "unmodify" * gtk/gtkwidget.c (gtk_widget_modify_font): Accept NULL for font_desc to mean "unmodify". --- ChangeLog | 9 +++++++ ChangeLog.pre-2-10 | 9 +++++++ ChangeLog.pre-2-2 | 9 +++++++ ChangeLog.pre-2-4 | 9 +++++++ ChangeLog.pre-2-6 | 9 +++++++ ChangeLog.pre-2-8 | 9 +++++++ gtk/gtkwidget.c | 65 +++++++++++++++++++++++++++++----------------- 7 files changed, 95 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8e462ef7f4..2c98dfd896 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Sat Apr 20 12:07:14 2002 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_modify_color_component): Accept + NULL for color to mean "unmodify" + + * gtk/gtkwidget.c (gtk_widget_modify_font): Accept NULL for + font_desc to mean "unmodify". + Sat Apr 20 16:49:26 2002 Kristian Rietveld * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new): replace GDK_IS_WINDOW @@ -111,6 +119,7 @@ Tue Apr 16 07:53:49 2002 Tim Janik * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the accel path is from a locked accel group. +>>>>>>> 1.3353 Mon Apr 15 15:41:56 2002 Jonathan Blandford * gtk/gtkcontainer.c (gtk_container_focus): include internal diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 8e462ef7f4..2c98dfd896 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Sat Apr 20 12:07:14 2002 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_modify_color_component): Accept + NULL for color to mean "unmodify" + + * gtk/gtkwidget.c (gtk_widget_modify_font): Accept NULL for + font_desc to mean "unmodify". + Sat Apr 20 16:49:26 2002 Kristian Rietveld * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new): replace GDK_IS_WINDOW @@ -111,6 +119,7 @@ Tue Apr 16 07:53:49 2002 Tim Janik * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the accel path is from a locked accel group. +>>>>>>> 1.3353 Mon Apr 15 15:41:56 2002 Jonathan Blandford * gtk/gtkcontainer.c (gtk_container_focus): include internal diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 8e462ef7f4..2c98dfd896 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Sat Apr 20 12:07:14 2002 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_modify_color_component): Accept + NULL for color to mean "unmodify" + + * gtk/gtkwidget.c (gtk_widget_modify_font): Accept NULL for + font_desc to mean "unmodify". + Sat Apr 20 16:49:26 2002 Kristian Rietveld * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new): replace GDK_IS_WINDOW @@ -111,6 +119,7 @@ Tue Apr 16 07:53:49 2002 Tim Janik * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the accel path is from a locked accel group. +>>>>>>> 1.3353 Mon Apr 15 15:41:56 2002 Jonathan Blandford * gtk/gtkcontainer.c (gtk_container_focus): include internal diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 8e462ef7f4..2c98dfd896 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Sat Apr 20 12:07:14 2002 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_modify_color_component): Accept + NULL for color to mean "unmodify" + + * gtk/gtkwidget.c (gtk_widget_modify_font): Accept NULL for + font_desc to mean "unmodify". + Sat Apr 20 16:49:26 2002 Kristian Rietveld * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new): replace GDK_IS_WINDOW @@ -111,6 +119,7 @@ Tue Apr 16 07:53:49 2002 Tim Janik * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the accel path is from a locked accel group. +>>>>>>> 1.3353 Mon Apr 15 15:41:56 2002 Jonathan Blandford * gtk/gtkcontainer.c (gtk_container_focus): include internal diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 8e462ef7f4..2c98dfd896 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Sat Apr 20 12:07:14 2002 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_modify_color_component): Accept + NULL for color to mean "unmodify" + + * gtk/gtkwidget.c (gtk_widget_modify_font): Accept NULL for + font_desc to mean "unmodify". + Sat Apr 20 16:49:26 2002 Kristian Rietveld * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new): replace GDK_IS_WINDOW @@ -111,6 +119,7 @@ Tue Apr 16 07:53:49 2002 Tim Janik * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the accel path is from a locked accel group. +>>>>>>> 1.3353 Mon Apr 15 15:41:56 2002 Jonathan Blandford * gtk/gtkcontainer.c (gtk_container_focus): include internal diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 8e462ef7f4..2c98dfd896 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Sat Apr 20 12:07:14 2002 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_modify_color_component): Accept + NULL for color to mean "unmodify" + + * gtk/gtkwidget.c (gtk_widget_modify_font): Accept NULL for + font_desc to mean "unmodify". + Sat Apr 20 16:49:26 2002 Kristian Rietveld * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new): replace GDK_IS_WINDOW @@ -111,6 +119,7 @@ Tue Apr 16 07:53:49 2002 Tim Janik * gtk/gtkwidget.c (_gtk_widget_get_accel_path): export whether the accel path is from a locked accel group. +>>>>>>> 1.3353 Mon Apr 15 15:41:56 2002 Jonathan Blandford * gtk/gtkcontainer.c (gtk_container_focus): include internal diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 28667edb37..ecc4a77a81 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4017,25 +4017,30 @@ gtk_widget_modify_color_component (GtkWidget *widget, { GtkRcStyle *rc_style = gtk_widget_get_modifier_style (widget); - switch (component) + if (color) { - case GTK_RC_FG: - rc_style->fg[state] = *color; - break; - case GTK_RC_BG: - rc_style->bg[state] = *color; - break; - case GTK_RC_TEXT: - rc_style->text[state] = *color; - break; - case GTK_RC_BASE: - rc_style->base[state] = *color; - break; - default: - g_assert_not_reached(); + switch (component) + { + case GTK_RC_FG: + rc_style->fg[state] = *color; + break; + case GTK_RC_BG: + rc_style->bg[state] = *color; + break; + case GTK_RC_TEXT: + rc_style->text[state] = *color; + break; + case GTK_RC_BASE: + rc_style->base[state] = *color; + break; + default: + g_assert_not_reached(); + } + + rc_style->color_flags[state] |= component; } - - rc_style->color_flags[state] |= component; + else + rc_style->color_flags[state] &= ~component; gtk_widget_modify_style (widget, rc_style); } @@ -4044,7 +4049,9 @@ gtk_widget_modify_color_component (GtkWidget *widget, * gtk_widget_modify_fg: * @widget: a #GtkWidget. * @state: the state for which to set the foreground color. - * @color: the color to assign (does not need to be allocated). + * @color: the color to assign (does not need to be allocated), + * or %NULL to undo the effect of previous calls to + * of gtk_widget_modify_fg(). * * Sets the foreground color for a widget in a particular state. All * other style values are left untouched. See also @@ -4066,7 +4073,9 @@ gtk_widget_modify_fg (GtkWidget *widget, * gtk_widget_modify_bg: * @widget: a #GtkWidget. * @state: the state for which to set the background color. - * @color: the color to assign (does not need to be allocated). + * @color: the color to assign (does not need to be allocated), + * or %NULL to undo the effect of previous calls to + * of gtk_widget_modify_bg(). * * Sets the background color for a widget in a particular state. All * other style values are left untouched. See also @@ -4088,7 +4097,9 @@ gtk_widget_modify_bg (GtkWidget *widget, * gtk_widget_modify_text: * @widget: a #GtkWidget. * @state: the state for which to set the text color. - * @color: the color to assign (does not need to be allocated). + * @color: the color to assign (does not need to be allocated), + * or %NULL to undo the effect of previous calls to + * of gtk_widget_modify_text(). * * Sets the text color for a widget in a particular state. All other * style values are left untouched. The text color is the foreground @@ -4112,7 +4123,9 @@ gtk_widget_modify_text (GtkWidget *widget, * gtk_widget_modify_base: * @widget: a #GtkWidget. * @state: the state for which to set the base color. - * @color: the color to assign (does not need to be allocated). + * @color: the color to assign (does not need to be allocated), + * or %NULL to undo the effect of previous calls to + * of gtk_widget_modify_base(). * * Sets the base color for a widget in a particular state. * All other style values are left untouched. The base color @@ -4135,7 +4148,8 @@ gtk_widget_modify_base (GtkWidget *widget, /** * gtk_widget_modify_font: * @widget: a #GtkWidget - * @font_desc: the font description to use + * @font_desc: the font description to use, or %NULL to undo + * the effect of previous calls to gtk_widget_modify_font(). * * Sets the font to use for a widget. All other style values are left * untouched. See also gtk_widget_modify_style(). @@ -4153,9 +4167,12 @@ gtk_widget_modify_font (GtkWidget *widget, if (rc_style->font_desc) pango_font_description_free (rc_style->font_desc); - - rc_style->font_desc = pango_font_description_copy (font_desc); + if (font_desc) + rc_style->font_desc = pango_font_description_copy (font_desc); + else + rc_style->font_desc = NULL; + gtk_widget_modify_style (widget, rc_style); } -- 2.30.2